package com.amex.uam.dao;

import java.util.List;
import java.util.Map;

import com.amex.uam.model.AMEX_BUSINESS;
import com.amex.uam.model.AMEX_UNIT;
import com.amex.uam.model.MS_USER_ADMIN;
import com.amex.uam.model.MS_USER_CTRY_ACSS;
import com.amex.uam.model.MS_USER_PROJ;
import com.amex.uam.model.MS_USER_RGN_ACSS;
import com.amex.uam.model.MS_USER_SEC_GRP;
import com.amex.uam.model.USER_DEPT;

public interface UserDao {
	public List<Map<String, String>> searchUser(String searchParam, String searchDBFldString);
	public Map<String, String> loadUserProfile(String userId);
	public List<MS_USER_SEC_GRP> loadUserSecurityGroup(String amexWebId);
	public List<MS_USER_CTRY_ACSS> loadGEOCTRYByAmexWebId(String amexWebId);
	public List<MS_USER_RGN_ACSS> loadGEORGNByAmexWebId(String amexWebId);
	public int updateVUPUSRGenInfo(MS_USER_ADMIN mua);
	public int updateVUPUSRAmexBuss(AMEX_BUSINESS ab);
	public int updateVUPUSRAmexUnit(AMEX_UNIT au);
	public boolean updateVUPMSTRProd(List<MS_USER_PROJ> list);
	
	public boolean attachUserToGroup(String amexWebId, String groupName);
	public boolean removeUserFromGroup(String amexWebId, String groupName);
	public boolean updateRGN(List<MS_USER_RGN_ACSS> list);
	public boolean updateCTRY(List<MS_USER_CTRY_ACSS> list);
	
	public Object loadUserByAmexWebId(String amexWebId);
	boolean addMstrProd(List<MS_USER_PROJ> list);
	boolean addUser(MS_USER_ADMIN user);
	public boolean editUserGeneralInfo(MS_USER_ADMIN user);
	public boolean removeUser(String userId);
	
	
}
